import time
from functools import wraps


def timethis(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        start = time.time()
        result = func(*args, **kwargs)
        end = time.time()
        print(func.__name__, end - start)
        return result

    return wrapper


@timethis
def countdown(num):
    """Count Down"""
    while num > 0:
        num -= 1


countdown(1000000)
print(countdown.__name__)
print(countdown.__doc__)
print(countdown.__code__.co_varnames)
print(countdown.__annotations__)

from inspect import signature
print(signature(countdown).parameters)
